package com.blog4j.common.annotation;

import com.blog4j.common.enums.ModuleTypeEnum;
import com.blog4j.common.enums.OperationTypeEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author 98k灬
 * @version v1.0.0
 * @Description : 统一日志注解
 * @Create on : 2024/8/18 13:04
 **/
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface OperationLog {
    /**
     * 日志类型
     *
     * @return 日志类型
     */
    OperationTypeEnum operationType() default OperationTypeEnum.QUERY;

    /**
     * 模块
     *
     * @return 模块
     */
    ModuleTypeEnum module();

    /**
     * 描述
     *
     * @return 描述
     */
    String description() default "";
}
